export interface CreateModuleResultModel {
  id: number
}

export interface CreateModuleParam {
  name: string
  desc: string
  parent: string
  createType: string
  moduleType: string
  app: string
  space: string
}

export interface EditModuleParam {
  id: number
  name: string
  desc: string
  parent: number
}

export interface BatchEditModuleParam {
  modules: number[]
  parent: number
}

export interface DeleteModuleParam {
  name: string
}

export interface ModuleInfo {
  moduleId: number
  name: string
  desc: string
  parentId: number
  parentName: string
  createType: string
  moduleType: string
  app: string
  space: string
  position: string
  activeState: string
  dependState: number
  updateTime: string
  createTime: string
  dependCount: number
}

export interface GetDependListParam {
  module: number
}

export interface DependInfo {
  name: string
  desc: string
  moduleId: number
  moduleName: string
  protocol: string
  targetType: string
  targetId: string
  state: number
}

export interface GetDescendantsResult {
  parent: ModuleInfo
  descendants: ModuleInfo[]
}

export interface GetModuleListModel {
  modules: Array<ModuleInfo>
}
